home *** CD-ROM | disk | FTP | other *** search
- /*
- isatty.c -- return 1 if file descriptor is an open window
- -- return 0 if file descriptor is a file
-
- Copyright (c) 1993 Anthony C. Ard.
-
- This program is free software; you can redistribute it and/or
- modifiy it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
- #include <errno.h>
- #include <IOCtl.h>
-
- int isatty( int fd )
- {
- long result;
- int r, old_errno;
-
- old_errno = errno; /* preserve errno */
-
- r = ioctl( fd, FIOINTERACTIVE, &result );
-
- errno = old_errno; /* restore old errno */
-
- if( r == 0 ) return 1;
- return 0;
- }
-
- #ifdef TEST
- # include <stdio.h>
- # include <string.h>
-
- int main()
- {
- int r, i;
-
- for( i = 0; i < 4; i++ ) {
- r = isatty( i );
- printf( "### isatty( %d ): result = %d; errors (%d,%s)\n",
- i, r, errno, strerror(errno) );
- }
-
- return 0;
- }
-
- #endif TEST
-